/*
 * TemaDT.h - Grupo 5 - Prog. Avanzada 2011
 *
 *  Javier Dominguez - 4.901.161-6
 *  Marcelo Parada - 1.977.094-9
 *  Rodrigo Ruiz - 4.481.611-2
 *  Maximiliano Silvera - 4.106.938-6
 */

#ifndef TEMADT_H_
#define TEMADT_H_

#include <string>
#include "ElementoDT.h"
#include "../util/Tiempo.h"
#include "../dao/Tema.h"

using namespace std;

class TemaDT: public ElementoDT
{
private:
	string titulo;

	Tiempo* tiempo;

public:
	TemaDT();

	// Metodo abstracto a implementar por sus hijos (SingleDT, PistaDT)
	virtual int tipoTemaDT() = 0;

	// Heredado de icollectible
	virtual bool same(ICollectible *icollectible) = 0;

	// Heredado de icollectible
	virtual string toString() = 0;

	// Heredado de elemento dt
	virtual int tipoElementoDT();

    Tiempo *getTiempo() const;

    string getTitulo() const;

    void setTiempo(Tiempo *tiempo);

    void setTitulo(string titulo);

    virtual ~TemaDT();
};

#endif /* TEMADT_H_ */
